Return codes

When ENFREQ macro returns control to your program, GPR 15 contains a return code.

Table 1. Return Codes for the ENFREQ Macro
Hexadecimal Return Code Meaning and Action
00 Meaning: ENFREQ processing completed successfully.

Action: None

04 Meaning: Program error. An identical LISTEN request already exists. A request is considered a duplicate if its QUAL, QMASK, EXIT, BITQUAL, and BITCOMPARE parameter values are the same as those specified for an existing request.

Action: None. The request is already established.

0C Meaning: Program error (invalid parameter list) The ENFREQ failed for one of the following reasons:
  • The length of the parameter list is incorrect.
  • The specified ACTION code is not valid.
  • The specified EVENT code is not valid.
  • The caller specified ACTION=LISTEN, and the EXIT address is zero.
  • The caller specified ACTION=DELETE, and the DTOKEN field is zero.

Action: After checking and correcting the program environment parameters, retry the request. If the parameters are correct, check to see if you inadvertently overlaid the control parameter list.

10 Meaning: System error. This return code is for IBM® diagnostic purposes only.

Action: Record the return code, and supply it to the appropriate IBM support personnel.

14 Meaning: Environmental error. Your program issued the ENFREQ macro before the system initialized ENF.

Action: Retry the request. If the problem persists, record the return code and supply it to the appropriate IBM support personnel.

18 Meaning: Environmental error. The system cannot obtain storage for your request.

Action: Rerun your program one or more times. If the problem persists, check with the operator to see if another user in the installation is causing the problem, or if the entire installation is experiencing storage constraint problems.

1C Meaning: Program error. The DTOKEN parameter does not represent any LISTEN request that is currently active. ENF does not perform a DELETE.

Action: Verify that the DTOKEN on the DELETE request matches the DTOKEN from the LISTEN request. Retry the DELETE request with the correct DTOKEN.

20 Meaning: Program error. An abend occurred in the Listen Exit code.

Action: If a dump was produced for the abend, examine it and correct the programming error.

3C Meaning: Program error. EOT=YES was specified on an ENFREQ listen request while the issuer of the ENFREQ request was running in SRB mode.

Action: Either specify EOT=NO or delete the EOT keyword from the ENFREQ macro invocation.

46 Meaning: Program error. The SRBEXIT keyword was specified on an ENFREQ listen request for an event code that does not allow SRBEXIT.

Action: Verify that the listen request is for the correct event code. If so, replace the SRBEXIT keyword with the EXIT keyword and ensure that the listen exit resides in common storage.

48 Meaning: Program error. The EXIT keyword was specified on an ENFREQ listen request for an event code that does not allow EXIT.

Action: Verify that the listen request is for the correct event code. If so, replace the EXIT keyword with the SRBEXIT keyword.

4A Meaning: Program error. The keyword combination of EOT=YES and EOM=NO was specified on an ENFREQ listen request. This combination is incorrect.

Action: Change the EOM specification to YES or the EOT specification to NO.

4C Meaning: Program error. EOM=NO and SRBEXIT were specified on an ENFREQ listen request. This combination is incorrect.

Action: Change the EOM specification to YES or do not use SRBEXIT.

4E Meaning: Program error. An ENF request specified XSYS=YES for an event code that does not support sysplex-wide notification.

Action: Verify that the ENF request is for the correct event code. If so, specify XSYS=NO (or allow the XSYS parameter to default to XSYS=NO).

50 Meaning: System error. Sysplex-wide notification is not available, because of a system initialization problem. ENF listeners will receive notifications originating from only the system where the listen exit was established.

Action: Report the problem to the operator and the system programmer. The cross-system signalling capability will remain unavailable until the next system IPL.

52 Meaning: Program error. Sysplex-wide notification services were requested for an action type other than listen.

Action: Verify that your program is not overwriting the parameter list, and that the execute form of the macro correctly addresses the parameter list.

54 Meaning: Program error. An ENF request specified invalid comparison instructions for the bit-mapped qualifier.

Action: Verify that your program is not overwriting the parameter list, and that the execute form of the macro correctly addresses the parameter list.

60 Meaning: Program error. An ENF request specified FLTRBLK for an event code that does not support listener filter blocks.

Action: Verify that the ENF request is for the correct event code. If so, do not specify FLTRBLK.

64 Meaning: Program error. An ENF request specified FLTRBLK. It was specified for an event code that does support listener filter blocks, but the block was not accessible by the owner of that particular event code.

Action: Ensure that the event-specific listener filter block occupies accessible storage of sufficient length.

68 Meaning: Program error. An ENF request specified FLTRBLK. It was specified for an event code that does support listener filter blocks, and the block was accessible by the owner of that particular event code, but the filter parameters are incorrect.

Action: Check the parameters specified in the FLTRBLK. If the event-specific mapping includes a reason code, use its value to assist with the problem determination.